package com.itheima.d1_Map_traversal;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;

/**
 * Map的遍历
 */
public class demo1 {
    public static void main(String[] args) {
        Map<String,Integer> maps = new HashMap<>();
        maps.put("iphone",100);
        maps.put("huawei",9999);
        maps.put("xiaomi",1);
        maps.put("MacBook",50);
        System.out.println(maps);

        /**
         *  1.键找值：
         *          1.拿到键的集合
         *          2.根据键来遍历
         */

        Set<String> keys = maps.keySet();
        for (String key : keys) {
            System.out.println("当前键为："+key+"  对应的值为："+maps.get(key));
        }

        /**
         * 2.键值对：
         *          1.先把Map转化为Set，Set中每个元素都是键值对实体类型
         *          2.遍历Set集合，提取键和对应的值
         */
        //1.entrySet
        Set<Map.Entry<String ,Integer>> set = maps.entrySet();
        System.out.println(set);

        //2.for

        for (Map.Entry<String, Integer> entry : set) {
            System.out.println(entry.getKey()+"---->"+entry.getValue());
        }

        /**
         * Lambda方式
         */
        //BiConsumer forEach
//        maps.forEach(new BiConsumer<String, Integer>() {
//            @Override
//            public void accept(String s, Integer integer) {
//                System.out.println(s+"====>"+integer);
//            }
//        });
        maps.forEach((s, integer) ->  {
                System.out.println(s+"====>"+integer);
            }
        );

    }
}
